Unidade Lógica e Aritmética - ULA



A Unidade Lógica e Aritmética (ULA) é um circuito combinatório responsável pela execução de somas, subtrações e funções lógicas, em um sistema digital. Na figura 1.1 é mostrado um esquema simplificado de uma ULA.
imagem1.jpg


Figura 1.1 – Esquema de uma ULA.




Uma ULA pode ser construída como uma cascata de vários estágios idênticos.Não existem regras de como projetar cada estágio da ULA.Em geral, a aplicação determina o circuito de cada estágio da ULA. Uma vez estabelecido o porte do sistema, existe também o compromisso entre velocidade e preço. Por exemplo, as calculadoras eletrônicas exigem ULAs que permitem operações complexas, porém com velocidade de operação baixa, reduzindo-se o custo; já os computadores de grande porte exigem velocidade de operação elevada, aumentando o custo da ULA. Atualmente têm-se várias alternativas de circuitos integrados que incluem uma ULA. Entre elas estão o 74181, 74381 e 74LS881.

Circuito integrado


Existem diversos circuitos integrados disponíveis comercialmente que são classificados e vendidos como unidades lógicas-aritméticas (ULAs), mesmo que não apresentem a capacidade lógica e aritmética de uma ULA de computador.Esses CIs ULAs são capazes de realizar várias operações logicas e aritméticas diferentes com dados binários de entrada. A operação específica que um CI ULA executa é determinada pelo código binário específico que é aplicado nas entradas dos bits seletores de função.E cada CI ULA possui um conjunto específico de funções que pode executar, diferente das demais ULAs.

Circuito Integrado 74181–uma ULA de 4 bits

O circuito integrado MSI 74181 é uma ULA de 4bits que tem possibilidade de executar 16 operações aritméticas binárias e 16 operações lógicas.

ulafoto2.png


Tabela_1.jpg


Tabela_2_certa.jpg
As saídas G e T são os sinais "gerador de vai-um", correspondentes ao bit mais significativo e, utilizando- se o circuito integrado 74182, permitem a expansão da largura da palavra a ser manipulada.
As operações de subtração são executadas em complemento de dois (C2). Por exemplo, (-1) é representado por (1111). As operações lógicas são executadas bit a bit. Por exemplo, se a operação AND é aplicada às entradas A = 1011 e B = 0110, resulta F = 0010.
A saída Cn+4 representa o sinal de vai-um do último bit da palavra. Ela pode ser usada para propagar o vai-um para o próximo estágio quando não há preocupação com a velocidade do circuito. O sinal Cn+4 também pode ser usado em conjunto com a saída A = B para indicar as condições A>B e A<B.

2. MEMÓRIAS

A principal vantagem dos sistemas digitais sobre os analó­gicos é a capacidade de armazenar, facilmente, grandes quantidades de informação e dados por períodos longos ou curtos. Esta capacidade de memória é o que torna os siste­mas digitais tão versáteis e adaptáveis às diversas situa­ções. Por exemplo, em um computador digital, a memória principal armazena instruções que informam ao computa­dor o que fazer sob qualquercircunstância possível, de modo que o computador realizará sua tarefa com um mínimo de intervenção humana.


2.1 CLASSIFICAÇÃO DAS MEMÓRIAS



2.1.1 – ACESSO

As memórias acessam informações em lugares denominados localidades de memória. Cada uma das localidades de memória possui um conjunto de bits que nos permite o seu acesso. A este conjunto de bits damos o nome de endereço. Esse conceito é de fácil compreensão, pois como próprio nome diz, o conjunto de bits representa o endereço da localidade onde está armazenada uma informação.
O tempo de acesso de uma memória é o tempo necessário desde a entrada de um endereço até o momento em que a informação aparece na saída. Para as memórias de escrita/leitura é também o tempo necessário para a informação ser gravada.
As localidades de memória podem ser acessadas de duas maneiras, que estão descritas nos itens a seguir.

1.1 Acesso sequencial
As memórias que utilizam o acesso seqüencial, dado o endereço de certa localidade, permitem que se chegue até esta, passando por todas as localidades intermediárias. As memórias mais comuns com este tipo de acesso são as que operam com fitas magnéticas, sendo utilizadas como memória de massa em computadores.
Uma característica importante deste tipo de acesso é que o tempo de acesso depende do lugar onde a informação está armazenada.

1.2 Acesso aleatório
As memórias que utilizam o acesso aleatório, dado o endereço de certa localidade, permitem que se chegue até este diretamente, sem necessitar passar pelas localidades intermediárias. As principais memórias com este tipo de acesso são também conhecidas como RAM (Random-Accsess Memory). São largamente utilizadas em sistemas digitais programáveis. Possuem grande vantagem de ter um tempo de acesso pequeno e igual para qualquer uma das localidades de memória.

2.1.2 – VOLATILIDADE

Quanto a volatilidade, as memórias podem ser voláteis ou não-voláteis.

2.1 – Memórias voláteis
São as memórias que, ao ser cortada a alimentação, perdem as informações armazenadas. São memórias feitas, geralmente, a partir de semicondutores e na maioria das vezes, possuem como elemento de memória o flip-flop. Um exemplo é a memória RAM.

2.2 – Memórias não-vólateis
São as memórias que mesmo sem alimentação, continuam com as informações armazenadas. Dentre essas se destacam as memórias magnéticas e as eletrônicas: ROM, PROM, e EPROM.

2.1.3 – TROCA DE DADOS

Quanto à troca de dados com outros componentes do sistema, as memórias podem ser de escrita/leitura ou memórias apenas de leitura.

3.1 – Escrita/leitura
As memórias de escrita/leitura são aquelas que permitem acesso a uma localidade qualquer para armazenar a informação desejada, além de permitirem o acesso também para a leitura do dado. As memórias RAM são exemplo.

3.2 – Apenas Leitura
As memórias apenas de leitura, são aquelas em que a informação é fixa, só permitindo assim a leitura das mesmas. São também conhecidas como ROM (Read-Only Memory).

2.1.4 TIPOS DE ARMAZENAMENTO

Quanto ao tipo de armazenamento, as memórias classificam-se em estáticas e dinâmicas.

4.1 Memórias de armazenamento estático
As memórias de armazenamento estático são aquelas em que uma vez inserido o dado numa dada localidade, este lá permanece.

4.2 Memórias de armazenamento dinâmico
As memórias de armazenamento dinâmico são aquelas em que necessitamos inserir a informação de tempos em tempos, pois de acordo com as características de seu elementos internos, as informações são perdidas após um determinado tempo.


2.1 PRINCÍPIO DE OPERAÇÃO DA MEMÓRIA



Embora cada tipo de memória seja diferente na sua opera­ção interna, certos princípios básicos de operação são iguais para todos os sistemas de memória. Uma compreensão dessas idéias básicas ajudará nosso estudo sobre os dispo­sitivos de memória.

Todos os sistemas de memória necessitam de diversos tipos diferentes de linhas de entrada e de saída para reali­zar as seguintes funções:
1. Selecionar o endereço na memória que está sendo aces­sado para uma operação de leitura ou escrita.
2. Selecionar uma operação de leitura ou uma de escrita a ser realizada.
3. Fornecer os dados de entrada a serem armazenados na memória durante uma operação de escrita.
4. Manter os dados de saída vindos da memória durante uma operação de leitura.
5. Habilitar (ou desabilitar) a memória de modo que ela responda (ou não) às entradas de endereçamento e ao comando de leitura/escrita.

A Figura 1(a) ilustra essas funções básicas num diagrama simplificado de uma memória de 32 X 4 que armazena trinta e duas palavras de quatro bits. Tendo em vista que o tama­nho da palavra é de quatro bits, existem quatro linhas de entrada de dados, I0 a I1, e quatro linhas de saída de dados, O0 a 03. Durante uma operação de escrita, o dado a ser armaze­nado na memória deve ser aplicado nas linhas de entrada de dados. Durante uma operação de leitura, a palavra que está sendo lida da memória aparece nas linhas de saída de dados.

figura_1.jpg
Figura 1 (a)

2.2.1 ENTRADAS DE ENDEREÇO

Como a memória ilustrada no diagrama da figura 1(a) armazena 32 palavras, ela tem 32 posi­ções de armazenamento diferentes, e portanto possui 32 en­dereços binários diferentes, variando de 00000 até 11111 (0 a 31 em decimal). Logo, existem cinco entradas de endere­ço, A0 até A4. Para acessar uma das posições de memória para uma operação de leitura ou escrita, o código de ende­reçamento de cinco bits para essa posição é aplicado nas entradas de endereço. De um modo geral, N entradas de endereço são necessárias para uma memória que possui uma capacidade de 2^n palavras.

Podemos visualizar a memória da Figura 1(a) como um arranjo de 32 registradores, no qual cada registrador guar­da uma palavra de quatro bits, conforme mostra a Figura 1(b). Cada posição é mostrada contendo quatro células de memória, que guardam ls ou Os, que formam a palavra de dados armazenada nesta posição. Por exemplo, a palavra de dados 0110 está armazenada no endereço 00000, a pala­vra de dados 1001 está armaz
enada no endereço 00001, e assim por diante.
figura_2.jpg
figura 1 (b)


2.2.2 A ENTRADA R/W'

Esta entrada controla qual operação deve ser realizada na memória: leitura (R — Read) ou Escrita (W — Write). A en­trada é identificada por RW', e, como não existe a barra sobre R, isto indica que a operação de leitura ocorre quando R/W' = 1. A barra sobre W indica que a operação de escrita acon­tece quando R/W' = 0. Outros identificadores são usados frequentemente para essa entrada. Dois dos mais comuns são W' (escrita) e (WE)' (write enable— habilitação de escrita). Novamente, a barra indica que a operação de escrita ocorre quando a entrada está em BAIXO. Fica subentendido que a operação de
leitura ocorre para nível ALTO.

Uma ilustração simplificada das operações de leitura e es­crita é mostrada na Figura 2. A parte (a) mostra o dado 0100 sendo escrito no registrador de memória da posição de ende­reço 00011. Este dado deve ser aplicado nas linhas de entra­da de dados, e substitui o dado previamente armazenado no endereço 00011. A parte (b) mostra a palavra 1101 sendo lida do endereço 11110. Esta palavra deve aparecer nas linhas de saída de dados da memória. Após a operação de leitura, a pa­lavra 1101 ainda está armazenada no endereço 11110. Isto é, a operação de leitura não altera o dado armazenado.
figura_3.jpg
figura 2

2.2.3 HABILITAÇÃO DA MEMÓRIA

Muitos sistemas de memória têm algum modo de desabilitar completamente uma parte ou toda a memória, de modo que ela não responde às outras entradas. Isto é representado na Figura 1(a) pela entrada ME, embora ela possa ter nomes di­ferentes nos vários sistemas de memória, tais como chip enable (CE) ou chip select (CS). Aqui ela é mostrada como uma entrada ativa em ALTO que habilita a memória a ope­rar normalmente quando é mantida em ALTO. Um nível BAIXO nesta entrada desabilita a memória, de modo que ela não responderá às entradas de endereço e de R/W’. Esse tipo de entrada é útil quando vários módulos de memória são combinados para formar uma memória maior.



2.3 MEMÓRIAS SOMENTE DE LEITURA


A memória somente de leitura é um tipo de memória semicondutora que é projetada para armazenar dados imu­táveis ou aqueles que não mudam com freqüência. Duran­te a operação normal, novos dados não podem ser escritos na ROM; somente os dados já armazenados podem ser li­dos. Para alguns tipos de ROMs, os dados que estão arma­zenados devem ser colocados na memória durante o pro­cesso de fabricação; para outras ROMs, os dados podem ser colocados eletricamente. O processo de colocar os dados é chamado de programação ou "queima "da ROM. Algumas ROMs não podem ter seus dados modificados uma vez pro­gramados. Outras podem ser apagadas e reprogramadas tantas vezes quanto necessário.


2.3.1 MEMÓRIA ROM

As ROMs são usadas para armazenar dados e informa­ções que não devem ser alterados durante a operação nor­mal de um sistema. A principal aplicação das ROMs é no armazenamento de programas em microcomputadores. Uma vez que todas as ROMs são não-voláteis, estes programas não são perdidos quando a fonte de alimentação é desliga­da. Quando o microcomputador é ligado, ele pode imedia­tamente começar a execução do programa armazenado na ROM. ROMs também são usadas em equipamentos contro­lados por microprocessador, tais como: caixas registrado­ras eletrônicas, aparelhos domésticos e sistemas de segu­rança.


Diagrama de blocos de uma ROM

Um diagrama de blocos típico para uma ROM pode ser vis­to na Figura 3(a). Ele possui três grupos de sinais: entradas de endereço, entradas de controle e entradas de dados. Com base no que foi dito anteriormente, podemos dizer que esta ROM está armazenando 16 palavras, uma vez que 24 = 16 endereços possíveis, e que cada palavra contém 8 bits, pois existem oito saídas de dados. Portanto, esta é uma ROM de 16 X 8. Uma outra maneira de descrever a capacidade da ROM é dizer que ela armazena 16 bytes de dados.

As saídas de dados mais comuns da maioria dos CIs de ROMs são do tipo tristate, para permitir a conexão de vários chips de ROMs num mesmo barramento de dados para expansão de memória. Os números de saídas de dados maiscomuns são 4, 8 e 16 bits, sendo que palavras de 8 bits são as mais comuns.

A entrada de controle CS (chip select) é a entrada de seleção do chip. Ela é uma entrada que habilita ou não as saídas da ROM. Alguns fabricantes usam outros nomes para esta entrada de controle, tais como: CE (chip enable — habilitação do chip) ou OE (output enable — habilitação da saída). Muitas ROMs têm duas ou mais entradas de con­trole que devem estar ativas para que as saídas de dados sejam habilitadas e o conteúdo do endereço selecionado possa ser lido. Em alguns CIs de ROMs, uma das entradas de controle, geralmente CE, é utilizada para colocar a ROM em modo standby quando ela não estiver sendo usada. Isto diminui o fornecimento de corrente para a memória a par­tir da fonte de alimentação do sistema.

A entrada CS, na Figura 3(a), é ativa em ní­vel BAIXO, e portanto deve estar em nível BAIXO para permitir que os dados da ROM apareçam nas saídas. Ob­serve que não há entrada R/W (leitura/escrita), porque não se pode escrever em uma ROM durante a operação normal.

figura_4.jpg

Operação de Leitura

Vamos considerar que uma ROM foi programada com os dados mostrados na tabela da Figura 3(b). As dezesseis palavras de dados são armazenadas em 16 endereços dife­rentes. Por exemplo, a palavra de dados armazenada na posição 0011 é 10101111. É claro, os dados estão armazenados de modo binário no interior da ROM, mas freqüente­mente usaremos a notação hexadecimal para mostrar de modo compacto os dados programados. Isto é feito na Figura 3(c).

Para ler uma palavra de dados armazenados na ROM, necessitamos: (1) fornecer valores apropriados nas entradas de endereço e depois (2) ativar as entradas de controle. Por exemplo, se desejamos ler os dados armazenados na posi­ção 0111 da ROM da Figura 3, devemos aplicar A3A2A1A0 = 0111 nas entradas de endereço e depois colocar CS em BAIXO.

As entradas de endereço serão decodificadas no interior da ROM para selecionar a palavra de dados correta, isto é, 11101101, que irá aparecer nas saídas D7 a D0. Se a entrada CS for mantida em ALTO, as saídas da ROM não estarão habilitadas e ficarão em alta impedância.

2.3.2 TIPOS DE ROM'S


ROM Programada por Máscara

A ROM programada por máscara tem suas posições escritas (programadas) pelo fabricante cie acordo com as especifi­cações do cliente. Um negativo fotográfico chamado más­cara é usado para especificar as conexões elétricas no chip. Uma máscara específica é necessária para cada conjunto de informações diferentes a ser armazenado na ROM. Uma vez que essas máscaras são muito caras, esse tipo de ROM só é economicamente viável se uma grande quantidade de uma mesma ROM é necessária.

Algumas ROMs desse tipo estão disponíveis como dispositivos pré-programaclos com infor­mações ou dados normalmente usados, como por exemplo códigos geradores de caracteres usados em terminais de ví­deo. A principal desvantagem desse tipo de ROM é que ela não pode ser reprogramada quando uma mudança de pro­jeto necessitar que os dados armazenados sejam modifica­dos. A ROM teria que ser trocada por uma outra com os novos dados gravados. Vários tipos de ROMs programáveis pelo usuário foram desenvolvidos para superar essa limita­ção. Entretanto, ROMs programadas por máscara ainda re­presentam a alternativa mais econômica quando uma gran­de quantidade de ROMs com programação idêntica é ne­cessária.

ROMs programadas por máscara são comumente chama­das simplesmente de ROMs. Entretanto, isso pode trazer alguma confusão, uma vez que o termo ROM na verdade representa uma categoria mais abrangente de dispositivos que durante a sua operação normal podem ser apenas li­dos. Usaremos o acrônimo MROM ( mask-programmed ROM) sempre que fizermos referência a ROMs programadas por máscara.

ROMs Programaveis (PROMs – PROGRAMMABLE ROMs)


Uma ROM programável por máscara é muito cara e só seria usada em aplicações que necessitassem de um grande vo­lume, pois o alto custo poderia ser diluído pelas várias uni­dades. Para aplicações de volume mais baixo, os fabrican­tes desenvolveram PROMs com conexões a fusível que são programadas pelo usuário, isto é, não são programadas durante o processo de fabricação, mas são programadas pelo usuário, de acordo com suas necessidades. Entretanto, uma vez programada, uma PROM é como uma MROM, e não pode ser apagada e reprogramada. Logo, se um programa em uma PROM tem erros ou deve ser alterado, esta PROM deve ser "jogada fora". Por essa razão, esses dispositivos são também chamados de ROMs programáveis apenas uma vez (OTP — one timeprogrammable).

ROM Programável e Apagável (EPROM - ERASABLE PROGRAMMABLE ROM)

Uma EPROM pode ser programada pelo usuário e também pode ser apagada e reprogramada tão freqüentemente quanto desejado. Uma vez programada, a EPROM é uma memória não-volátil, que irá manter indefinidamente os dados armazenados. O processo de programação de uma EPROM envolve a aplicação de níveis de tensão especiais (geralmente na faixa de 10 a 25 V) nas entradas do chip apropriadas, por um determinado intervalo de tempo (ge­ralmente 50 ms para cada posição). O processo de progra­mação geralmente é realizado por um circuito de progra­mação especial que está separado do circuito que será uti­lizado na EPROM durante sua operação normal. O proces­so de programação completo pode durar até vários minu­tos para um chip EPROM.

As células de armazenamento em uma EPROM são tran­sistores MOS cuja porta não possui conexão elétrica (isto é, a porta está em flutuação). Em seu estado normal, cada tran­sistor não está conduzindo e cada célula está armazenando um nível lógico 1. Um transistor pode ser colocado em um estado de condução aplicando-se um pulso cie programa­ção de alta tensão que injeta elétrons com alta energia na região da porta em flutuação. Os elétrons permanecem pre­sos nesta região tão logo o pulso é retirado, porque não existe um caminho de descarga. Isto mantém o transistor em estado de permanente condução mesmo quando a ali­mentação é removida do dispositivo, e a célula agora está armazenando um nível lógico 0. Durante o processo de programação, os pinos de dados e endereços da EPROM são usados para selecionar quais as células de memória serão programadas com 0’s e quais serão mantidas com 1’s.

Uma vez programada a célula de uma EPROM, ela pode ser apagada sendo exposta à luz ultravioleta (UV) aplicada pela janela existente no encapsulamento do chip. A luz ultravioleta produz uma corrente da porta em flutuação para o substrato de silício, que remove as cargas armazenadas e faz com que o transistor passe para um estado de nâo-condução, restabelecendo o nível lógico 1. Este processo de apagamento geralmente requer de 15 a 20 minutos de ex­posição à luz ultravioleta. Infelizmente, não existe um modo de apagar apenas algumas células selecionadas; a luz ultravioleta apaga todas as células ao mesmo tempo, de modo que uma EPROM apagada armazena apenas 1s. Uma vez apagada, ela pode ser reprogramada.

As EPROMs estão disponíveis em um amplo espectro de capacidades e tempos de acesso. Dispositivos com capaci­dade de 512K X 8 e tempos de acesso de 120 ns são co­muns. A 2732 é um exemplo de uma pequena EPROM. A 2732 é uma EPROM NMOS de 4K X 8 que opera com uma fonte única de +5 V durante operação normal.

PROM Apagavel eletricamente (Electricalliy Erasable PROM EEPROM)

As desvantagens da EPROM foram superadas pelo desen­volvimento da PROM apagável eletricamente (EEPROM)como um aperfeiçoamento da EPROM. A EEPROM mantém a mesma estrutura de porta em flutuação da EPROM, mas com a adição de uma fina camada de óxido acima do dre­no do MOSFET da célula de memória. Essa modificação produz a principal característica da EEPROM, isto é, poder ser apagada eletricamente. Aplicando-se uma tensão alta (21 V) entre a porta e o dreno do MOSFET, uma carga é indu­zida na porta em flutuação, onde permanecerá mesmo que a alimentação seja retirada; a aplicação reversa da mesma tensão faz com que as cargas que estavam na porta em flutuação sejam removidas e que a célula seja apagada. Uma vez que esse mecanismo de transporte de cargas necessita cie correntes muito baixas, o apagamento e a programação de uma EEPROM podem ser feitos no próprio circuito, sem necessitar de uma fonte de luz ultravioleta e de um progra­mador especial.

CD ROM


Um tipo de armazenamento somente para leitura bastante utilizado em computadores hoje são os CDs (compact disks). A tecnologia de fabricação e os circuitos necessários para recuperar a informação são os mesmos daqueles utilizados em sistemas de áudio. Apenas o formato dos dados é dife­rente. Os CDs são fabricados com uma superfície altamente reflexiva. Para armazenar dados nesses discos, um feixe laser bastante intenso é focalizado sobre um ponto muito peque­no no disco. Esse feixe faz uma depressão que é capaz cie provocar a clifraçâo da luz nesse ponto da superfície. Os dados digitais (1s e Os) são armazenados no disco, um bit por vez, fazendo ou não essa depressão no material reflexi­vo. A informação digital no disco está organizada em uma espiral contínua de pontos de dados. A precisão do feixe laser permite que grandes quantidades cie dados (acima de 550 Mbytes) sejam armazenados em um pequeno disco de 120 mm.


Para que os dados possam ser lidos, um feixe laser bem menos potente é focalizado na superfície do disco. Em qualquer ponto, a luz refletida é sentida como um 1 ou um 0. Esse arranjo ótico é montado em um mecanismo de trans­porte que se move para a frente e para trás ao longo do raio do disco, seguindo a espiral de dados à medida que o disco roda. Os dados recebidos do sistema ótico vêm em uma linha serial de dados, um bit por vez, A rotação do disco é controlada para manter uma taxa constante de bits. Se esse disco está sendo usado para reprodução de áudio, essa li­nha de dados é convertida em formato analógico. Se esse disco está sendo usado como uma memória somente de leitura, esses dados são codificados em bytes paralelos que o computador pode usar.



2.4 MEMÓRIA FLASH


As EPROMs são não-voláteis, oferecem tempos de acesso reduzidos (tipicamente 120 ns) e têm alta densidade e bai­xo custo por bit. Entretanto, elas precisam ser retiradas do circuito/sistema para serem apagadas e reprogramadas. As EEPROMs são não-voláteis, oferecem tempos de acesso re­duzidos e permitem que o apagamento e a reprogramação de bytes individuais sejam feitos no circuito/sistema. Entre­tanto, apresentam como desvantagens a baixa densidade e o alto custo quando comparadas às EPROMs.

O desafio para os engenheiros de semicondutores era fa­bricar uma memória não-volátil, apagável eletricamente como a EEPROM, mas com densidades e custos semelhantes aos da EPROM, ainda mantendo a alta velocidade do acesso de ambas. A resposta a esse desafio foi a memoria flash.

Estruturalmente, uma célula de memória flash é seme­lhante à célula com um único transistor da EPROM (não é semelhante à célula mais complexa da EEPROM com dois transistores), sendo apenas ligeiramente maior. Ela possui uma camada de óxido mais fina na porta que permite que a célula possa ser apagada eletricamente, permitindo, ain­da, que se obtenham densidades bem maiores do que as observadas nas EEPROMs. O custo de uma memória flash é consideravelmente menor do que uma EEPROM, embora ainda não esteja tão próximo do custo da EPROM. Essa di­ferença de custo deverá diminuir à medida que a tecnolo­gia flash seja aperfeiçoada. A Figura 4 mostra as vantagens e desvantagens dos vários tipos de memórias semicondutoras não-voláteis. À medida que aumenta a flexibilidade para apagar e programar, também aumentam a complexidade e o custo do dispositivo. A MROM e a PROM são os disposi­tivos mais simples e baratos, mas não podem ser apagados e reprogramados. A EEPROM é o dispositivo mais complexo e caro porque pode ser apagado e programado "byte a byte".

As memórias flash são assim chamadas porque possuem tempos curtos de apagamento e escrita. A maioria dos chips faz apagamento em bloco, nos quais todas as células no chip são apagadas simultaneamente. Esse processo de apagamen­to em bloco dura, tipicamente, centenas de milissegundos, muito menos tempo do que os 20 minutos necessários para as EPROMs. Algumas memórias flash mais novas oferecem um modo de apagamento por setor, em que setores especí­ficos da matriz de memória (por exemplo, grupos de 512 bytes) podem ser apagados de uma só vez. Isso evita que seja necessário apagar e reprogramar todas as células quando apenas uma parte da memória tiver que ser atualizada.

figura_5.jpg



2.5 MEMÓRIA RAM


O termo RAM significa memória de acesso aleatório (random-access memory), querendo dizer que qualquer posição de memória possui a mesma facilidade de acesso que qualquer outra. Muitos tipos de memória po­dem ser classificados como tendo acesso aleatório; entre­tanto, quando o termo RAM é usado para memórias semi­condutoras, estamos nos referindo à memória de escrita e leitura em oposição a ROM. Uma vez que é uma prática comum usar o termo RAM para representar uma memória de escrita e leitura, assim sera feito nas explicações a se­guir.

A RAM é usada em computadores para armazenamento temporário de programas e dados. Os conteúdos de muitas posições de uma RAM podem ser lidos e escritos à medida que um computador executa um programa. Isso torna ne­cessário que os ciclos de escrita e leitura para RAM sejam mais rápidos para que o desempenho do computador não seja comprometido.

Uma das principais desvantagens de uma RAM é o fato de a mesma ser volátil, isto é, ela vai perder a informação armazenada se a alimentação for desligada ou interrompi­da. Entretanto, algumas RAMs CMOS consomem tão pouca potência quando estão em modo standby (operações cie leitura e escrita não são realizadas) que elas podem ser ali­mentadas por baterias sempre que a alimentação principal for interrompida. Obviamente, a maior vantagem de uma RAM é o fato de ela poder ser escrita e lida rapidamente com a mesma facilidade.

2.5.1 Arquitetura da RAM


Conforme aconteceu com a ROM, é bastante útil pensar numa RAM como um determinado número de registrado­res onde cacla um armazena uma única palavra de dados e possui um único endereço. As RAMs tipicamente são fabricadas com capacidades de 1K, 4K, 8K, l6K, 64K, 128K, 256K e 1.024K, com tamanhos de palavras de 1, 4 ou 8 bits. Como veremos mais tarde, o número cie palavras e o tama­nho das mesmas podem ser expandidos combinanclo-se chips de memória.

A Figura 5 mostra a arquitetura simplificada de uma RAM que armazena 64 palavras de quatro bits cada. isto é, uma memória de 64 X 4. Estas palavras têm endereços que vão de 0 a 6310.Para selecionar uma das 64 posições para escri­ta ou leitura, um endereço binário é fornecido ao circuito decodificador. Uma vez que 64 =26, o decodificador ne­cessita de seis entradas. Cada endereço ativa uma saída em particular do decodificador, que, por sua vez, habilita o registrador correspondente. Por exemplo, suponha que foi fornecido o endereço:

A5A4A3A2A1A0 = 111110

Uma vez que 0110102, = 62, a saída 62 do decodificador irá para ALTO, selecionando o registrador 62 para escrita ou leitura.

figura_6.jpg
Figura 5 - Organização interna de uma RAM de 64 x 4


2.5.2 Operação de leitura


O endereço seleciona o registrador no chip de memória para escrita ou leitura. Para que seja possível ler o conteúdo do registrador escolhido, o sinal de entrada de LEITURA/ES­CRITA (READ/WRITE — R/W') deve estar em 1. Além dis­so, a entrada de seleção do chip (CHIP SELECT — (CS)' ) deve estar ativa, nesse caso em nível lógico 0. A combinação de R/W= 1 e (CS)’ = 0 habilita os buffers de saída de modo que o conteúdo do registrador aparece nas quatro saídas de dados. A entrada R/W’ = 1 também inibe os buffers de entrada, fazendo com que as entradas de dados não afetem a memória durante a operação de leitura.

2.5.3 Operação de Escrita

Para escrever uma palavra de quatro bits no registrador selecionado, é necessário que R/W= 0 e (CS)’= 0. Essa combinação habilita os buffers de entrada para que a pala­vra de quatro bits fornecida às entradas de dados seja car­regada no registrador. A entrada R/W em 0 também inibe os buffers de saída, que são do tipo tristate, fazendo com que as saídas de dados fiquem em alta impedância durante a operação de escrita. Na operação de escrita, obviamente, o conteúdo que estava anteriormente armazenado é perdido.

2.5.4 Seleção do CHIP

A maioria dos chips de memória tem uma ou mais entradas CS que são usadas para habilitar ou não o chip. Quando o chip não está habilitado, todas as entradas e saídas de da­dos estão desabilitadas (alta impedância), de modo que nenhuma operação de leitura ou de escrita pode acontecer.

Nesse estado, o conteúdo da memória não é afetado. A ra­zão para a existência de mais de uma entrada de seleção é utilizada quando são combinados chips de memória para obtermos memórias maiores. Observe que muitos fabrican­tes chamam estas entradas de HABILITAÇÃO DO CHIP (CHIP ENABLE — CE). Quando as entradas CS ou CE estão no seu estado ativo, diz-se que o chip de memória está se­lecionado; caso contrário, diz-se que ele não está selecio­nado.

Muitos CIs de memória são projetados para consu­mir uma potência muito menor quando eles não estão se­lecionados. Em grandes sistemas de memória, para uma dada operação de memória, um ou mais chips são selecionados, enquanto outros não são.

2.5.5 RAM Estática (SRAM)

A operação da RAM que discutimos até agora se aplica a uma RAM estática (static RAM — SRAM), isto é, aquela que pode armazenar os dados enquanto for mantida a ali­mentação do chip. Células de uma memória estática são essencialmente flip-flops que permanecem em um determi­nado estado (armazenando um bit) indefinidamente, desde que a alimentação não seja interrompida.

2.5.6 RAM Dinâmica (DRAM)

Ao contrário das RAMs es­táticas, que armazenam informações em flip-flops, as RAMs dinâmicas armazenam 1s e Os como cargas em um peque­no capacitor MOS. Como existe uma tendência para a fuga de cargas após um perío­do de tempo, as RAMs dinâmicas necessitam de uma recarga periódica de suas células de memória. Isto é chamado de refresh da memória dinâmica. Nas DRAMs mais modernas, cada célula de memória deve ser recarregada, geralmente, a cada 2, 4, ou 8 ms, ou os dados serão perdidos.

Podemos visualizar a memória da Figura 1(a) como um arranjo de 32 registradores, no qual cada registrador guar­da uma palavra de quatro bits, conforme mostra a Figura 1(b). Cada posição é mostrada contendo quatro células de memória, que guardam ls ou Os, que formam a palavra de dados armazenada nesta posição. Por exemplo, a palavra de dados 0110 está armazenada no endereço 00000, a pala­vra de dados 1001 está armazenada no endereço 00001, e assim por diante.